package main;

import framwork.Manager;
import framwork.Product;

/**
 * 根据实例来生成新实例的 Prototype(原型) 模式。
 *
 * 以下这段示例程序的功能是将字符串 放入方框中显示出来或是加上下划线显示出来。
 */
public class Main {
    public static void main(String[] args) {
        //准备
        Manager manager = new Manager();
        UnderlinePen strongMsg = new UnderlinePen('~');
        MessageBox warnBox = new MessageBox('*');
        MessageBox slashBox = new MessageBox('/');
        manager.register("strong message",strongMsg);
        manager.register("warning box",warnBox);
        manager.register("slash box",slashBox);

        //生成
        Product p1 = manager.create("strong message");
        p1.user("hello world");
        Product p2 = manager.create("warning box");
        p2.user("hello world");
        Product p3 = manager.create("slash box");
        p3.user("hello world");

    }
}
